home *** CD-ROM | disk | FTP | other *** search
/ Nautilus 1992 July / Nautilus-3-8 / Nautilus-3-8.bin / Tools & Utilities / Techy Stuff / Source ƒ / egrep-1.5 / grep-src / dirent.h < prev    next >
Encoding:
C/C++ Source or Header  |  1991-08-23  |  1.2 KB  |  43 lines

  1. /* Not all of this mess is used on the Mac-- it is included as a
  2.    start towards UNIX compatibility, a hopeless cause.
  3.    
  4.    This is abstracted from the equiv dirent.h on a UNIX machine.
  5. */
  6.  
  7. #define    MAXNAMLEN    255
  8.  
  9. #define d_ino    d_fileno        /* compatability */
  10.  
  11.  
  12. typedef struct _dirdesc {
  13.     int    dd_fd;            /* file descriptor */
  14.     long    dd_loc;             /* buf offset of entry from last readddir() */
  15.     long    dd_size;        /* amount of valid data in buffer */
  16.     long    dd_bsize;        /* amount of entries read at a time */
  17.     long    dd_off;                 /* Current offset in dir (for telldir) */
  18.     char    *dd_buf;        /* directory data buffer */
  19. } DIR;
  20.  
  21.  
  22. extern    DIR *opendir();
  23. extern    struct dirent *readdir();
  24.  
  25. extern    int closedir();
  26.  
  27. #define off_t long
  28. #define u_long unsigned long
  29. #define u_short unsigned short
  30.  
  31. struct    dirent {
  32.     off_t   d_off;            /* offset of next disk directory entry */
  33.     u_long    d_fileno;        /* file number of entry */
  34.     u_short    d_reclen;        /* length of this record */
  35.     u_short    d_namlen;        /* length of string in d_name */
  36.     char    d_name[MAXNAMLEN + 1];    /* name (up to MAXNAMLEN + 1) */
  37. };
  38.  
  39. #undef DIRSIZ
  40. #define DIRSIZ(dp)  \
  41.     (((sizeof (struct dirent) - (MAXNAMLEN+1) + ((dp)->d_namlen+1)) + 3) & ~3)
  42.  
  43.